ITP001 Axioms: ITP071^5.ax


%------------------------------------------------------------------------------
% File     : ITP071^5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : quotient_option^2.ax [Gau20]
%          : HL4071^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   15 (   2 unt;   0 typ;   0 def)
%            Number of atoms       :  391 (   5 equ;   0 cnn)
%            Maximal formula atoms :   56 (  26 avg)
%            Number of connectives :  745 (   0   ~;   0   |;   4   &; 657   @)
%                                         (   8 <=>;  76  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   40 (  20 avg; 657 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   22 (  19 usr;  21 con; 0-2 aty)
%            Number of variables   :   88 (   0   ^  88   !;   0   ?;  88   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(conj_thm_2Equotient__option_2EOPTION__MAP__I,axiom,
    ! [A_27a: del] :
      ( ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27a ) @ ( c_2Ecombin_2EI @ A_27a ) )
      = ( c_2Ecombin_2EI @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__REL__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27a )
             => ( ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
                <=> $true )
                & ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
                <=> $false )
                & ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2y ) ) )
                <=> $false )
                & ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2y ) ) )
                <=> ( p @ ( ap @ ( ap @ V0R @ V1x ) @ V2y ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__REL__EQ,axiom,
    ! [A_27a: del] :
      ( ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ ( c_2Emin_2E_3D @ A_27a ) )
      = ( c_2Emin_2E_3D @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__EQUIV,axiom,
    ! [A_27a: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ( ( p @ ( ap @ ( c_2Equotient_2EEQUIV @ A_27a ) @ V0R ) )
       => ( p @ ( ap @ ( c_2Equotient_2EEQUIV @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__QUOTIENT,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) ) @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V1abs ) ) @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V2rep ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2ENONE__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ( ( c_2Eoption_2ENONE @ A_27b )
                  = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V1abs ) @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2ENONE__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2ESOME__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27b )
                   => ( ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V3x )
                      = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V1abs ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ ( ap @ V2rep @ V3x ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2ESOME__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27a )
                   => ! [V4y: $i] :
                        ( ( mem @ V4y @ A_27a )
                       => ( ( p @ ( ap @ ( ap @ V0R @ V3x ) @ V4y ) )
                         => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4y ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EIS__SOME__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ ( ty_2Eoption_2Eoption @ A_27b ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27b ) @ V3x ) )
                    <=> ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V2rep ) @ V3x ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EIS__SOME__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ! [V4y: $i] :
                        ( ( mem @ V4y @ ( ty_2Eoption_2Eoption @ A_27a ) )
                       => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ V3x ) @ V4y ) )
                         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V3x ) )
                          <=> ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V4y ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EIS__NONE__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ ( ty_2Eoption_2Eoption @ A_27b ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27b ) @ V3x ) )
                    <=> ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V2rep ) @ V3x ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EIS__NONE__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs: $i] :
          ( ( mem @ V1abs @ ( arr @ A_27a @ A_27b ) )
         => ! [V2rep: $i] :
              ( ( mem @ V2rep @ ( arr @ A_27b @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27b ) @ V0R ) @ V1abs ) @ V2rep ) )
               => ! [V3x: $i] :
                    ( ( mem @ V3x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ! [V4y: $i] :
                        ( ( mem @ V4y @ ( ty_2Eoption_2Eoption @ A_27a ) )
                       => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ V3x ) @ V4y ) )
                         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V3x ) )
                          <=> ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V4y ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__MAP__PRS,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0R1: $i] :
      ( ( mem @ V0R1 @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs1: $i] :
          ( ( mem @ V1abs1 @ ( arr @ A_27a @ A_27c ) )
         => ! [V2rep1: $i] :
              ( ( mem @ V2rep1 @ ( arr @ A_27c @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27c ) @ V0R1 ) @ V1abs1 ) @ V2rep1 ) )
               => ! [V3R2: $i] :
                    ( ( mem @ V3R2 @ ( arr @ A_27b @ ( arr @ A_27b @ bool ) ) )
                   => ! [V4abs2: $i] :
                        ( ( mem @ V4abs2 @ ( arr @ A_27b @ A_27d ) )
                       => ! [V5rep2: $i] :
                            ( ( mem @ V5rep2 @ ( arr @ A_27d @ A_27b ) )
                           => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27b @ A_27d ) @ V3R2 ) @ V4abs2 ) @ V5rep2 ) )
                             => ! [V6a: $i] :
                                  ( ( mem @ V6a @ ( ty_2Eoption_2Eoption @ A_27c ) )
                                 => ! [V7f: $i] :
                                      ( ( mem @ V7f @ ( arr @ A_27c @ A_27d ) )
                                     => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27c @ A_27d ) @ V7f ) @ V6a )
                                        = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27d ) @ V4abs2 ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2E_2D_2D_3E @ A_27a @ A_27d @ A_27c @ A_27b ) @ V1abs1 ) @ V5rep2 ) @ V7f ) ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27c @ A_27a ) @ V2rep1 ) @ V6a ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Equotient__option_2EOPTION__MAP__RSP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0R1: $i] :
      ( ( mem @ V0R1 @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1abs1: $i] :
          ( ( mem @ V1abs1 @ ( arr @ A_27a @ A_27c ) )
         => ! [V2rep1: $i] :
              ( ( mem @ V2rep1 @ ( arr @ A_27c @ A_27a ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27a @ A_27c ) @ V0R1 ) @ V1abs1 ) @ V2rep1 ) )
               => ! [V3R2: $i] :
                    ( ( mem @ V3R2 @ ( arr @ A_27b @ ( arr @ A_27b @ bool ) ) )
                   => ! [V4abs2: $i] :
                        ( ( mem @ V4abs2 @ ( arr @ A_27b @ A_27d ) )
                       => ! [V5rep2: $i] :
                            ( ( mem @ V5rep2 @ ( arr @ A_27d @ A_27b ) )
                           => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2EQUOTIENT @ A_27b @ A_27d ) @ V3R2 ) @ V4abs2 ) @ V5rep2 ) )
                             => ! [V6a1: $i] :
                                  ( ( mem @ V6a1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
                                 => ! [V7a2: $i] :
                                      ( ( mem @ V7a2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
                                     => ! [V8f1: $i] :
                                          ( ( mem @ V8f1 @ ( arr @ A_27a @ A_27b ) )
                                         => ! [V9f2: $i] :
                                              ( ( mem @ V9f2 @ ( arr @ A_27a @ A_27b ) )
                                             => ( ( ( p @ ( ap @ ( ap @ ( ap @ ( ap @ ( c_2Equotient_2E_3D_3D_3D_3E @ A_27a @ A_27b ) @ V0R1 ) @ V3R2 ) @ V8f1 ) @ V9f2 ) )
                                                  & ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R1 ) @ V6a1 ) @ V7a2 ) ) )
                                               => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27b @ A_27b ) @ V3R2 ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V8f1 ) @ V6a1 ) ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V9f2 ) @ V7a2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

%------------------------------------------------------------------------------